In computing systems, user data is frequently arranged as a stream of blocks of fixed length. Commonly encountered block lengths are 256 bytes, 512 bytes, 1024 bytes, etc. In addition, each block typically includes overhead information, such as a block or sector identification number. In the case of disk drives, data blocks stored on a storage surface typically are stored as "sectors" or segments of a data track. There are many data tracks typically arranged as concentric bands. A data transducer head is moved by a positioning system from track to track during track seeking operations, and is held in alignment with the track during track following operations. The block identification number for a data sector typically may include a head number to indicate a particular data storage surface or area, and a sector number to identify the particular data sector on that surface.
Sometimes, and particularly with prior disk drives having limited data storage capacity, the data sectors of fixed block length are aligned radially; and, a developed disk storage surface would reveal such sectors to be like pie-shaped wedges. A sector detection scheme can then be employed to mark the location of each sector. When each sector location is fixed and invariant even during disk surface formatting operations, the scheme is referred to as "hard sectoring". When the sector location may vary, depending upon variable parameters provided for a disk surface formatting operation for example, the scheme is generally referred to as "soft sectoring." The present invention is particularly applicable to soft sectoring of data sectors in a disk drive.
Disk drives employing 1,7 RLL coding schemes with embedded servo sectors are known in the prior art. Examples are discussed in commonly assigned U.S. Pat. Nos. 4,669,004 and 4,675,652, the disclosures of which are incorporated herein by reference. In the disk drive described in the referenced '004 patent, a hard sector scheme was employed. The head positioner servo always knew where the sectors were located as the storage disk rotated. After each servo sector, a data field or block would follow. All that was needed was a flag byte which marked the end of the sync field and start of the data field.
The expression "RLL" stands for run-length-limited. By "1,7 RLL" is meant that after a flux transition there may be between one and seven data clock periods or "cells" without a flux transition before another flux transition must be received. Thus, if a flux transition within a cell is denoted a "1", and the absence of a flux transition within a cell is denoted "0", from a 1 to a 1 there may be between one and seven zeros in the 1,7 scheme. In this scheme, typically groups of three cells are used to decode two data bits, and it is sometimes referred to as a "three-to-two" code. A data compression ratio of four to three is achieved with this particular data coding arrangement.
It is known that aerial data storage densities vary from radially outward data tracks to radially inward data tracks. This differential or gradient is due to the fact that the head to disk relative velocity varies from a maximum at the radially outward tracks to a minimum at the radially inward tracks. Also, the outer tracks have a greater lineal length than the inner tracks. It is thus clear that more data can be physically packed into the radially outward tracks than can be made to fit within the radially inward tracks.
One proposed solution to the data storage inefficiencies associated with this differential or gradient is to adjust the data transfer rate across the data storage surface. While this approach may be made to work well, one drawback is that it becomes very complicated and cumbersome to keep track of servo data from outer to inner tracks if the servo data rate is varying. This is a particularly challenging problem during track seeking operations, where access times become critical. Another approach is to divide the data tracks into zones and adjust data transfer rates of each zone. This approach has similar problems and drawbacks.
A third approach is to employ the zoned tracks concept, but also to provide for regularly aligned servo sectors spaced as spokes extending outwardly from the disk hub to the outer circumference wherein the servo sectors interrupt the data tracks and data fields. The result is a scheme known as "split data field recording". The present invention has particular applicability to split data field recording schemes.
A mechanism must be provided to mark in time the beginning of a data block. One way to implement such a mechanism is to provide a unique pattern, referred to herein as an "address mark". Detection of the address mark provides a basis for restarting a byte clock within a data sequencer which enables appropriate framing of incoming bytes from the disk surface during data readback operations. The byte clock must be started in synchronism with the incoming data pattern before the serial by bit data stream may be properly decoded and framed as data bytes. Provision of, and detection in real time of, the address mark pattern provides a synchronising mechanism used by the data sequencer.
Whenever data fields are split up or are located differently than are embedded servo sectors, an address mark must be provided to mark the beginning as well as resumption of the data field. The address mark must be unique in the sense that it should not be mistakenly decodable as data. The data address mark should be consistent with any coding scheme, such as 1,7 run length limited (RLL) coding which is used to compress data before it is recorded on the disk surface. A suitable data address mark for marking the beginning of, or resumption of, a data field is one which is consistent with the coding scheme, such as 1,7 RLL, but which will not mistakenly decode to user data.
In high density recording schemes, the most likely error is bit-shift. Bit-shift is a data distortion which occurs when a flux transition (i.e. "bit") is shifted and looks as if it is located in another, typically adjacent, data clock increment or cell. Bit shifts are caused by normal read/write noise. Peak shift is another cause; and, it most frequently occurs when flux transitions are close together on one side but far apart on another opposite side. In this case the transitions tend to migrate away from each other. Bit shift is a particular problem which confronts the disk drive designer; and, a hitherto unsolved need has arisen for a decoder which decodes data field address marks and manifests tolerance to faults, such as bit shift, while at the same time restarting the byte clock in proper synchronism with unshifted incoming data.